/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package acervo.control;

import acervo.model.Midia;
import acervo.persistence.Persistencia;
import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
 *
 * @author Administrador
 */
public class Controle {

    private Persistencia p;
    private static Controle controle = null;
    
    private Controle() {
        p = Persistencia.obterInstancia();
    }
    
    public static Controle obterInstancia(){
        if (controle == null ) {
            controle = new Controle();
	}
	return controle;        
    }
    
    public boolean save(Midia midia){
        return p.save(midia);
    }
    
    public boolean delete(Midia midia){
        return p.delete(midia);
    }
    
    public boolean update(Midia midia){
        return p.update(midia);
    }
    
    public Midia select(Midia midia){
        return p.select(midia);
    }
    
    public ArrayList<Midia> selectAll(String chave){
        return p.selectAll(chave);
    }
    
    public static void inserirMidia(Midia midia){
        if(Controle.obterInstancia().save(midia))
            JOptionPane.showMessageDialog(null, "Gravado com sucesso!", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
        else
            JOptionPane.showMessageDialog(null, "Erro na gravação!", "Erro", JOptionPane.ERROR_MESSAGE);
    }
    
    public static void alterarMidia(Midia midia){
        if(Controle.obterInstancia().update(midia))
            JOptionPane.showMessageDialog(null, "Alterado com sucesso!", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
        else
            JOptionPane.showMessageDialog(null, "Erro na alteração!", "Erro", JOptionPane.ERROR_MESSAGE);
    }
    
    public static void excluirMidia(Midia midia){
        if(Controle.obterInstancia().delete(midia))
            JOptionPane.showMessageDialog(null, "Exluido com sucesso!", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
        else
            JOptionPane.showMessageDialog(null, "Erro na exclusão!", "Erro", JOptionPane.ERROR_MESSAGE);
    }
    
}
